﻿/***********************************************************************
 * <copyright file="ISiteRepository.cs" company="B/S JSC">
 * -->    Copyright (C) statement. All right reserved
 * </copyright>
 * 
 * Created:   Hoang Bich Son 
 * Email:    sonhb@newman.vn
 * Website:
 * Create Date: Thursday, March 13, 2014
 * Usage: 
 * 
 * RevisionHistory: 
 * Date         Author               Description 
 * 
 * ************************************************************************/

using System.Collections.Generic;
using DxMvcApplication.SecurityServiceReference;

namespace DxMvcApplication.Repositories.Core.Security
{
    /// <summary>
    /// ISiteRopository
    /// </summary>
    public interface ISiteRepository:IRepository<SiteDto>
    {
        /// <summary>
        /// Gets the list.
        /// </summary>
        /// <param name="userId">The user identifier.</param>
        /// <param name="parentId">The parent identifier.</param>
        /// <returns></returns>
        List<SiteDto> GetList(int userId,int parentId);

        /// <summary>
        /// Gets the list by parent identifier.
        /// </summary>
        /// <param name="parentId">The parent identifier.</param>
        /// <returns></returns>
        List<SiteDto> GetListByParentId(int parentId);

        /// <summary>
        /// Gets the search paged.
        /// </summary>
        /// <param name="keyword">The keyword.</param>
        /// <param name="status">if set to <c>true</c> [status].</param>
        /// <param name="sort">The sort.</param>
        /// <param name="order">The order.</param>
        /// <param name="totalPage">The total page.</param>
        /// <param name="currentPage">The current page.</param>
        /// <returns></returns>
        List<SiteDto> GetAdvancedSearch(string keyword,bool? status,string sort,string order,ref int totalPage,int currentPage=1);

    }
}